#pragma once

#include "xmath/xmath.h"

enum {
    bq_type_lowpass = 0,
    bq_type_highpass,
    bq_type_bandpass,
    bq_type_notch,
    bq_type_peak,
    bq_type_lowshelf,
    bq_type_highshelf
};
#pragma pack(push, 1)
typedef struct
{
    uint8_t  audio_ch;
    uint8_t  eq_ch;
    int32_t  a0;
    int32_t  a1;
    int32_t  a2;
    int32_t  b1;
    int32_t  b2;
} eq_packet_t;
#pragma pack(pop)
// Call to process an input sample and generate an output sample
C_API


int32_t eq_process(int aid, int32_t new_sample);
void eq_confBiquad(int aid,int ch, int32_t coef[5]);
void eq_setBiquad(int aid, int ch, int type, double Fc, double Q, double peakGain);